// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
// SPDX-License-Identifier: Apache-2.0

import 'package:amplify_authenticator/src/l10n/dial_code_resolver.dart';

/// A list of [ISO 3166-1](https://en.wikipedia.org/wiki/ISO_3166-1) dial codes.
///
/// The enum name will be equal to the [alpha 2 code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements)
/// except in cases where this results in a conflict with Dart reserved
/// keywords. In those cases, a "1" is added as a suffix.
enum DialCode {
  us._('US', '1', DialCodeResolverKey.us$),
  af._('AF', '93', DialCodeResolverKey.af$),
  ax._('AX', '358', DialCodeResolverKey.ax$),
  al._('AL', '355', DialCodeResolverKey.al$),
  dz._('DZ', '213', DialCodeResolverKey.dz$),
  as1._('AS1', '1684', DialCodeResolverKey.as1$),
  ad._('AD', '376', DialCodeResolverKey.ad$),
  ao._('AO', '244', DialCodeResolverKey.ao$),
  ai._('AI', '1264', DialCodeResolverKey.ai$),
  aq._('AQ', '672', DialCodeResolverKey.aq$),
  ag._('AG', '1268', DialCodeResolverKey.ag$),
  ar._('AR', '54', DialCodeResolverKey.ar$),
  am._('AM', '374', DialCodeResolverKey.am$),
  aw._('AW', '297', DialCodeResolverKey.aw$),
  au._('AU', '61', DialCodeResolverKey.au$),
  at._('AT', '43', DialCodeResolverKey.at$),
  az._('AZ', '994', DialCodeResolverKey.az$),
  bs._('BS', '1242', DialCodeResolverKey.bs$),
  bh._('BH', '973', DialCodeResolverKey.bh$),
  bd._('BD', '880', DialCodeResolverKey.bd$),
  bb._('BB', '1246', DialCodeResolverKey.bb$),
  by._('BY', '375', DialCodeResolverKey.by$),
  be._('BE', '32', DialCodeResolverKey.be$),
  bz._('BZ', '501', DialCodeResolverKey.bz$),
  bj._('BJ', '229', DialCodeResolverKey.bj$),
  bm._('BM', '1441', DialCodeResolverKey.bm$),
  bt._('BT', '975', DialCodeResolverKey.bt$),
  bo._('BO', '591', DialCodeResolverKey.bo$),
  bq._('BQ', '599', DialCodeResolverKey.bq$),
  ba._('BA', '387', DialCodeResolverKey.ba$),
  bw._('BW', '267', DialCodeResolverKey.bw$),
  br._('BR', '55', DialCodeResolverKey.br$),
  io._('IO', '246', DialCodeResolverKey.io$),
  bn._('BN', '673', DialCodeResolverKey.bn$),
  bg._('BG', '359', DialCodeResolverKey.bg$),
  bf._('BF', '226', DialCodeResolverKey.bf$),
  bi._('BI', '257', DialCodeResolverKey.bi$),
  kh._('KH', '855', DialCodeResolverKey.kh$),
  cm._('CM', '237', DialCodeResolverKey.cm$),
  ca._('CA', '1', DialCodeResolverKey.ca$),
  cv._('CV', '238', DialCodeResolverKey.cv$),
  ky._('KY', '1345', DialCodeResolverKey.ky$),
  cf._('CF', '236', DialCodeResolverKey.cf$),
  td._('TD', '235', DialCodeResolverKey.td$),
  cl._('CL', '56', DialCodeResolverKey.cl$),
  cn._('CN', '86', DialCodeResolverKey.cn$),
  cx._('CX', '61', DialCodeResolverKey.cx$),
  cc._('CC', '61', DialCodeResolverKey.cc$),
  co._('CO', '57', DialCodeResolverKey.co$),
  km._('KM', '269', DialCodeResolverKey.km$),
  cg._('CG', '242', DialCodeResolverKey.cg$),
  cd._('CD', '243', DialCodeResolverKey.cd$),
  ck._('CK', '682', DialCodeResolverKey.ck$),
  cr._('CR', '506', DialCodeResolverKey.cr$),
  ci._('CI', '225', DialCodeResolverKey.ci$),
  hr._('HR', '385', DialCodeResolverKey.hr$),
  cu._('CU', '53', DialCodeResolverKey.cu$),
  cy._('CY', '357', DialCodeResolverKey.cy$),
  cz._('CZ', '420', DialCodeResolverKey.cz$),
  dk._('DK', '45', DialCodeResolverKey.dk$),
  dj._('DJ', '253', DialCodeResolverKey.dj$),
  dm._('DM', '1767', DialCodeResolverKey.dm$),
  do1._('DO1', '1849', DialCodeResolverKey.do1$),
  ec._('EC', '593', DialCodeResolverKey.ec$),
  eg._('EG', '20', DialCodeResolverKey.eg$),
  sv._('SV', '503', DialCodeResolverKey.sv$),
  gq._('GQ', '240', DialCodeResolverKey.gq$),
  er._('ER', '291', DialCodeResolverKey.er$),
  ee._('EE', '372', DialCodeResolverKey.ee$),
  sz._('SZ', '268', DialCodeResolverKey.sz$),
  et._('ET', '251', DialCodeResolverKey.et$),
  fk._('FK', '500', DialCodeResolverKey.fk$),
  fo._('FO', '298', DialCodeResolverKey.fo$),
  fj._('FJ', '679', DialCodeResolverKey.fj$),
  fi._('FI', '358', DialCodeResolverKey.fi$),
  fr._('FR', '33', DialCodeResolverKey.fr$),
  gf._('GF', '594', DialCodeResolverKey.gf$),
  pf._('PF', '689', DialCodeResolverKey.pf$),
  ga._('GA', '241', DialCodeResolverKey.ga$),
  gm._('GM', '220', DialCodeResolverKey.gm$),
  ge._('GE', '995', DialCodeResolverKey.ge$),
  de._('DE', '49', DialCodeResolverKey.de$),
  gh._('GH', '233', DialCodeResolverKey.gh$),
  gi._('GI', '350', DialCodeResolverKey.gi$),
  gr._('GR', '30', DialCodeResolverKey.gr$),
  gl._('GL', '299', DialCodeResolverKey.gl$),
  gd._('GD', '1473', DialCodeResolverKey.gd$),
  gp._('GP', '590', DialCodeResolverKey.gp$),
  gu._('GU', '1671', DialCodeResolverKey.gu$),
  gt._('GT', '502', DialCodeResolverKey.gt$),
  gg._('GG', '44', DialCodeResolverKey.gg$),
  gn._('GN', '224', DialCodeResolverKey.gn$),
  gw._('GW', '245', DialCodeResolverKey.gw$),
  gy._('GY', '592', DialCodeResolverKey.gy$),
  ht._('HT', '509', DialCodeResolverKey.ht$),
  va._('VA', '379', DialCodeResolverKey.va$),
  hn._('HN', '504', DialCodeResolverKey.hn$),
  hk._('HK', '852', DialCodeResolverKey.hk$),
  hu._('HU', '36', DialCodeResolverKey.hu$),
  is1._('IS1', '354', DialCodeResolverKey.is1$),
  in1._('IN1', '91', DialCodeResolverKey.in1$),
  id._('ID', '62', DialCodeResolverKey.id$),
  ir._('IR', '98', DialCodeResolverKey.ir$),
  iq._('IQ', '964', DialCodeResolverKey.iq$),
  ie._('IE', '353', DialCodeResolverKey.ie$),
  im._('IM', '44', DialCodeResolverKey.im$),
  il._('IL', '972', DialCodeResolverKey.il$),
  it._('IT', '39', DialCodeResolverKey.it$),
  jm._('JM', '1876', DialCodeResolverKey.jm$),
  jp._('JP', '81', DialCodeResolverKey.jp$),
  je._('JE', '44', DialCodeResolverKey.je$),
  jo._('JO', '962', DialCodeResolverKey.jo$),
  kz._('KZ', '7', DialCodeResolverKey.kz$),
  ke._('KE', '254', DialCodeResolverKey.ke$),
  ki._('KI', '686', DialCodeResolverKey.ki$),
  kp._('KP', '850', DialCodeResolverKey.kp$),
  kr._('KR', '82', DialCodeResolverKey.kr$),
  xk._('XK', '383', DialCodeResolverKey.xk$),
  kw._('KW', '965', DialCodeResolverKey.kw$),
  kg._('KG', '996', DialCodeResolverKey.kg$),
  la._('LA', '856', DialCodeResolverKey.la$),
  lv._('LV', '371', DialCodeResolverKey.lv$),
  lb._('LB', '961', DialCodeResolverKey.lb$),
  ls._('LS', '266', DialCodeResolverKey.ls$),
  lr._('LR', '231', DialCodeResolverKey.lr$),
  ly._('LY', '218', DialCodeResolverKey.ly$),
  li._('LI', '423', DialCodeResolverKey.li$),
  lt._('LT', '370', DialCodeResolverKey.lt$),
  lu._('LU', '352', DialCodeResolverKey.lu$),
  mo._('MO', '853', DialCodeResolverKey.mo$),
  mk._('MK', '389', DialCodeResolverKey.mk$),
  mg._('MG', '261', DialCodeResolverKey.mg$),
  mw._('MW', '265', DialCodeResolverKey.mw$),
  my._('MY', '60', DialCodeResolverKey.my$),
  mv._('MV', '960', DialCodeResolverKey.mv$),
  ml._('ML', '223', DialCodeResolverKey.ml$),
  mt._('MT', '356', DialCodeResolverKey.mt$),
  mh._('MH', '692', DialCodeResolverKey.mh$),
  mq._('MQ', '596', DialCodeResolverKey.mq$),
  mr._('MR', '222', DialCodeResolverKey.mr$),
  mu._('MU', '230', DialCodeResolverKey.mu$),
  yt._('YT', '262', DialCodeResolverKey.yt$),
  mx._('MX', '52', DialCodeResolverKey.mx$),
  fm._('FM', '691', DialCodeResolverKey.fm$),
  md._('MD', '373', DialCodeResolverKey.md$),
  mc._('MC', '377', DialCodeResolverKey.mc$),
  mn._('MN', '976', DialCodeResolverKey.mn$),
  me._('ME', '382', DialCodeResolverKey.me$),
  ms._('MS', '1664', DialCodeResolverKey.ms$),
  ma._('MA', '212', DialCodeResolverKey.ma$),
  mz._('MZ', '258', DialCodeResolverKey.mz$),
  mm._('MM', '95', DialCodeResolverKey.mm$),
  na._('NA', '264', DialCodeResolverKey.na$),
  nr._('NR', '674', DialCodeResolverKey.nr$),
  np._('NP', '977', DialCodeResolverKey.np$),
  nl._('NL', '31', DialCodeResolverKey.nl$),
  nc._('NC', '687', DialCodeResolverKey.nc$),
  nz._('NZ', '64', DialCodeResolverKey.nz$),
  ni._('NI', '505', DialCodeResolverKey.ni$),
  ne._('NE', '227', DialCodeResolverKey.ne$),
  ng._('NG', '234', DialCodeResolverKey.ng$),
  nu._('NU', '683', DialCodeResolverKey.nu$),
  nf._('NF', '672', DialCodeResolverKey.nf$),
  mp._('MP', '1670', DialCodeResolverKey.mp$),
  no._('NO', '47', DialCodeResolverKey.no$),
  om._('OM', '968', DialCodeResolverKey.om$),
  pk._('PK', '92', DialCodeResolverKey.pk$),
  pw._('PW', '680', DialCodeResolverKey.pw$),
  ps._('PS', '970', DialCodeResolverKey.ps$),
  pa._('PA', '507', DialCodeResolverKey.pa$),
  pg._('PG', '675', DialCodeResolverKey.pg$),
  py._('PY', '595', DialCodeResolverKey.py$),
  pe._('PE', '51', DialCodeResolverKey.pe$),
  ph._('PH', '63', DialCodeResolverKey.ph$),
  pn._('PN', '64', DialCodeResolverKey.pn$),
  pl._('PL', '48', DialCodeResolverKey.pl$),
  pt._('PT', '351', DialCodeResolverKey.pt$),
  pr._('PR', '1939', DialCodeResolverKey.pr$),
  qa._('QA', '974', DialCodeResolverKey.qa$),
  re._('RE', '262', DialCodeResolverKey.re$),
  ro._('RO', '40', DialCodeResolverKey.ro$),
  ru._('RU', '7', DialCodeResolverKey.ru$),
  rw._('RW', '250', DialCodeResolverKey.rw$),
  bl._('BL', '590', DialCodeResolverKey.bl$),
  sh._('SH', '290', DialCodeResolverKey.sh$),
  kn._('KN', '1869', DialCodeResolverKey.kn$),
  lc._('LC', '1758', DialCodeResolverKey.lc$),
  mf._('MF', '590', DialCodeResolverKey.mf$),
  pm._('PM', '508', DialCodeResolverKey.pm$),
  vc._('VC', '1784', DialCodeResolverKey.vc$),
  ws._('WS', '685', DialCodeResolverKey.ws$),
  sm._('SM', '378', DialCodeResolverKey.sm$),
  st._('ST', '239', DialCodeResolverKey.st$),
  sa._('SA', '966', DialCodeResolverKey.sa$),
  sn._('SN', '221', DialCodeResolverKey.sn$),
  rs._('RS', '381', DialCodeResolverKey.rs$),
  sc._('SC', '248', DialCodeResolverKey.sc$),
  sl._('SL', '232', DialCodeResolverKey.sl$),
  sg._('SG', '65', DialCodeResolverKey.sg$),
  sk._('SK', '421', DialCodeResolverKey.sk$),
  si._('SI', '386', DialCodeResolverKey.si$),
  sb._('SB', '677', DialCodeResolverKey.sb$),
  so._('SO', '252', DialCodeResolverKey.so$),
  za._('ZA', '27', DialCodeResolverKey.za$),
  gs._('GS', '500', DialCodeResolverKey.gs$),
  ss._('SS', '211', DialCodeResolverKey.ss$),
  es._('ES', '34', DialCodeResolverKey.es$),
  lk._('LK', '94', DialCodeResolverKey.lk$),
  sd._('SD', '249', DialCodeResolverKey.sd$),
  sr._('SR', '597', DialCodeResolverKey.sr$),
  sj._('SJ', '47', DialCodeResolverKey.sj$),
  se._('SE', '46', DialCodeResolverKey.se$),
  ch._('CH', '41', DialCodeResolverKey.ch$),
  sy._('SY', '963', DialCodeResolverKey.sy$),
  tw._('TW', '886', DialCodeResolverKey.tw$),
  tj._('TJ', '992', DialCodeResolverKey.tj$),
  tz._('TZ', '255', DialCodeResolverKey.tz$),
  th._('TH', '66', DialCodeResolverKey.th$),
  tl._('TL', '670', DialCodeResolverKey.tl$),
  tg._('TG', '228', DialCodeResolverKey.tg$),
  tk._('TK', '690', DialCodeResolverKey.tk$),
  to._('TO', '676', DialCodeResolverKey.to$),
  tt._('TT', '1868', DialCodeResolverKey.tt$),
  tn._('TN', '216', DialCodeResolverKey.tn$),
  tr._('TR', '90', DialCodeResolverKey.tr$),
  tm._('TM', '993', DialCodeResolverKey.tm$),
  tc._('TC', '1649', DialCodeResolverKey.tc$),
  tv._('TV', '688', DialCodeResolverKey.tv$),
  ug._('UG', '256', DialCodeResolverKey.ug$),
  ua._('UA', '380', DialCodeResolverKey.ua$),
  ae._('AE', '971', DialCodeResolverKey.ae$),
  gb._('GB', '44', DialCodeResolverKey.gb$),
  um._('UM', '246', DialCodeResolverKey.um$),
  uy._('UY', '598', DialCodeResolverKey.uy$),
  uz._('UZ', '998', DialCodeResolverKey.uz$),
  vu._('VU', '678', DialCodeResolverKey.vu$),
  ve._('VE', '58', DialCodeResolverKey.ve$),
  vn._('VN', '84', DialCodeResolverKey.vn$),
  vg._('VG', '1284', DialCodeResolverKey.vg$),
  vi._('VI', '1340', DialCodeResolverKey.vi$),
  wf._('WF', '681', DialCodeResolverKey.wf$),
  ye._('YE', '967', DialCodeResolverKey.ye$),
  zm._('ZM', '260', DialCodeResolverKey.zm$),
  zw._('ZW', '263', DialCodeResolverKey.zw$);

  const DialCode._(this.dialCode, this.value, this.key);

  final String dialCode;
  final String value;
  final DialCodeResolverKey key;
}
